<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>相等运算符</title>
    <script>
        /* 
            ==
                - 相等运算符，用来比较两个值是否相等
                - 使用相等运算符比较两个不同类型的值时，
                    它会将其转换为相同的类型（通常转换为数值）然后再比较
                    类型转换后值相同也会返回true
                - null和undefined进行相等比较时会返回true
                - NaN不和任何值相等，包括它自身
            ===
                - 全等运算符，用来比较两个值是否全等
                - 它不会进行自动的类型转换，如果两个值的类型不同直接返回false
                - null和undefined进行全等比较时会返回false

            !=
                - 不等，用来检查两个值是否不相等
                - 会自动的进行类型转换
            !==
                - 不全等，比较两个值是否不全等
                - 不和自动的类型转换
        */
        let result = 1 == 1 // true
        result = 1 == 2 // false
        result = 1 == '1' // true
        result = true == "1" // true

        result = null == undefined // true
        result = NaN == NaN // false

        result = 1 === "1" // false
        result = null === undefined // false

        result = 1 != 1 // false
        result = 1 != "1" // false
        result = 1 !== "1" // true

        console.log(result)
        
    </script>
</head>
<body>
    
</body>
</html>